package com.charm.restaurant.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.charm.restaurant.common.Result;
import com.charm.restaurant.entity.Points;
import com.charm.restaurant.entity.PointsRecord;

import java.util.Map;

/**
 * 积分服务接口
 */
public interface PointsService extends IService<Points> {

    /**
     * 获取用户积分信息
     */
    Result<Points> getUserPoints();

    /**
     * 获取用户积分记录
     */
    Result<Page<PointsRecord>> getPointsRecords(int page, int pageSize);

    /**
     * 增加积分
     */
    Result<String> addPoints(Integer points, Integer type, Long orderId, String remark);

    /**
     * 使用积分
     */
    Result<String> usePoints(Integer points, Long orderId, String remark);

    /**
     * 签到获取积分
     */
    Result<String> signIn();

    /**
     * 获取积分统计信息
     */
    Result<Map<String, Object>> getPointsStatistics();
}
